load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library")

oncall("scm_client_infra")

cpp_library(
    name = "fuse",
    srcs = glob(["*.cpp"]),
    headers = glob(["*.h"]),
    deps = [
        "//eden/common/telemetry:structured_logger",
        "//eden/common/utils:bug",
        "//eden/common/utils:synchronized",
        "//eden/common/utils:system_error",
        "//eden/fs/notifications:notifier",
        "//eden/fs/privhelper:interface",
        "//eden/fs/telemetry:fs_event_logger",
        "//eden/fs/telemetry:log_info",
        "//eden/fs/utils:static_assert",
        "//eden/fs/utils:thread",
        "//folly:exception",
        "//folly/executors:global_executor",
        "//folly/logging:logging",
        "//folly/system:thread_name",
    ],
    exported_deps = [
        "fbsource//third-party/fmt:fmt",
        "fbsource//third-party/googletest:gtest",
        "//eden/common/os:os",
        "//eden/common/telemetry:telemetry",
        "//eden/common/utils:case_sensitivity",
        "//eden/common/utils:immediate_future",
        "//eden/common/utils:path",
        "//eden/common/utils:ref_ptr",
        "//eden/common/utils:utils",
        "//eden/fs/inodes:fs_channel",
        "//eden/fs/inodes:inode_number",
        "//eden/fs/inodes:request_context",
        "//eden/fs/store:context",
        "//eden/fs/store:store",
        "//eden/fs/telemetry:stats",
        "//eden/fs/utils:bufvec",
        "//eden/fs/utils:fs_channel_types",
        "//eden/fs/utils:process_access_log",
        "//folly:file",
        "//folly:portability",
        "//folly:range",
        "//folly:synchronized",
        "//folly/futures:core",
        "//folly/synchronization:call_once",
    ],
    external_deps = [
        "boost",
    ],
)
